package co.edu.eam.persitencia.entidades;

import co.edu.eam.persitencia.enumeraciones.ECEnum;
import co.edu.eam.persitencia.enumeraciones.EstadificacionMEnum;
import co.edu.eam.persitencia.enumeraciones.EstadificacionNEnum;
import co.edu.eam.persitencia.enumeraciones.EstadificacionTEnum;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 * Entity que representa el examen fisico.
 *
 */
@NamedQueries({
        @NamedQuery(name=ExamenFisico.CONSULTA_EXAMEN,
     query=("select examen from ExamenFisico examen where examen.historiaClinica.paciente.documento=:"+ExamenFisico.PARAMETRO_PACIENTE))
    
})

@Entity
@Table(name = "clinica_ExamenFisico")
public class ExamenFisico implements Serializable {

    public static final String CONSULTA_EXAMEN="BuscarExamenFisico";
    public static final String PARAMETRO_PACIENTE="cedula";
    /**
     * Identificador unico de la entidad.
     */
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="ExamenFisico_id")
    private Long id;
    /**
     * Presion Arterial del paciente.
     */
    @Column(name="ExamenFisico_presionArterial")
    private String presionArterial;
    /**
     * Frecuencia cardiaca del paciente.
     */
    @Column(name="ExamenFisico_frecuenciaCardiaca")
    private String frecuenciaCardiaca;
    /**
     * Frecuencia respiratoria del paciente.
     */
    @Column(name="ExamenFisico_frecuenciaRespiratoria")
    private String frecuenciaRespiratoria;
    /**
     * talla del paciente.
     */
    @Column(name="ExamenFisico_talla")
    private double talla;
    /**
     * Temperatura del paciente.
     */
    @Column(name="ExamenFisico_temperatura")
    private String temperatura;
    /**
     * peso del paciente.
     */
    @Column(name="ExamenFisico_peso")
    private double peso;
    /**
     * estadificacio del paciente.
     */
    
    @JoinColumn(name="historiaClinica")
    @OneToOne
    private HistoriaClinica historiaClinica;   
    
     
    @Column(name="ExamenFisico_observacion")
    private String observacion;
    
    public String getObservacion() {
        return observacion;
    }

    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    /**
     * Constructtor sin parametros.
     */
    public ExamenFisico() {
        
    }

    /**
     * @return the id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @return the presionArterial
     */
    public String getPresionArterial() {
        return presionArterial;
    }

    /**
     * @param presionArterial the presionArterial to set
     */
    public void setPresionArterial(String presionArterial) {
        this.presionArterial = presionArterial;
    }

    /**
     * @return the frecuenciaCardiaca
     */
    public String getFrecuenciaCardiaca() {
        return frecuenciaCardiaca;
    }

    /**
     * @param frecuenciaCardiaca the frecuenciaCardiaca to set
     */
    public void setFrecuenciaCardiaca(String frecuenciaCardiaca) {
        this.frecuenciaCardiaca = frecuenciaCardiaca;
    }

    /**
     * @return the frecuenciaRespiratoria
     */
    public String getFrecuenciaRespiratoria() {
        return frecuenciaRespiratoria;
    }

    /**
     * @param frecuenciaRespiratoria the frecuenciaRespiratoria to set
     */
    public void setFrecuenciaRespiratoria(String frecuenciaRespiratoria) {
        this.frecuenciaRespiratoria = frecuenciaRespiratoria;
    }

    /**
     * @return the talla
     */
    public double getTalla() {
        return talla;
    }

    /**
     * @param talla the talla to set
     */
    public void setTalla(double talla) {
        this.talla = talla;
    }

    /**
     * @return the temperatura
     */
    public String getTemperatura() {
        return temperatura;
    }

    /**
     * @param temperatura the temperatura to set
     */
    public void setTemperatura(String temperatura) {
        this.temperatura = temperatura;
    }

    /**
     * @return the peso
     */
    public double getPeso() {
        return peso;
    }

    /**
     * @param peso the peso to set
     */
    public void setPeso(double peso) {
        this.peso = peso;
    }

    
    /**
     * @return the historiaClinica
     */
    public HistoriaClinica getHistoriaClinica() {
        return historiaClinica;
    }

    /**
     * @param historiaClinica the historiaClinica to set
     */
    public void setHistoriaClinica(HistoriaClinica historiaClinica) {
        this.historiaClinica = historiaClinica;
    }
    //TODO:falta toString
}
